java Facebook/Parse登录行为异常:代理应用程序尚未安装
我快疯了!尽管解决方案确实对我有所帮助,但并没有解决我的问题
我正在将Facebook登录添加到我当前的应用程序中。更重要的是,我有一些应用程序已经有了这个功能。我把它添加到他们身上没有问题!我已经看过了这些应用程序的代码,我现在正在处理的代码是相同的。我能想到的唯一区别是,这个应用程序在市场上推出,然后收到了一个Facebook登录功能。但是,我无法想象这会有什么关系
代码:
Button fb = (Button) view.findViewById(R.id.bFacebook);
Settings.setApplicationId(APPLICATION_ID);
fb.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d(TAG, "BUTTON WAS PRESSED");
ParseFacebookUtils.logIn(Arrays.asList(ParseFacebookUtils.Permissions.User.ABOUT_ME),
getActivity(), new LogInCallback() {
@Override
public void done(final ParseUser user, ParseException err) {
if (user == null) {
Log.d("MyApp", "Uh oh. The user cancelled the Facebook login.");
Toast.makeText(getActivity(), "CANCEL", Toast.LENGTH_LONG).show();
} else if (user.isNew()) {
Log.d("MyApp", "User signed up and logged in through Facebook!");
Toast.makeText(getActivity(), "SIGNUP", Toast.LENGTH_LONG).show();
} else {
Log.d("MyApp", "User logged in through Facebook!");
Toast.makeText(getActivity(), "LOGIN", Toast.LENGTH_LONG).show();
}
end();
}
private void end() {
activity.changeFrag(Drawer.Frag.HOME);
}
});
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
ParseFacebookUtils.finishAuthentication(requestCode, resultCode, data);
}
我收到警告:
com.facebook.http.protocol.ApiException: The proxied app is not already installed.
发生了什么:
- 我单击“登录”按钮,FB应用程序按其应打开
- 将出现一个微调器
- FB将立即关闭,我的应用程序将再次显示
如果您看到我的ParseCallback
{
我所做的:
- 我已经进入我的解析设置,并在设置中添加了我的秘密和ID(我所做的所有研究,我注意到这是很多人会做错事的地方。如果你在这里寻找答案,请检查此项!!)李>
- 我使用Parse.com指南添加了Facebook Sdk李>
- 我已经四次检查了我的KeyHash是否正确李>
- 我正在我的应用程序的
onCreate
中调用ParseFacebookUtils.initialize(APPLICATION_ID);
李> - 我已经安装了FB应用程序
- 我在模拟器和物理设备上都试过了
- 我已经完全重新开始了一个新项目,它只包含更新的解析。jar和Facebook sdk。还是没什么李>
这里是警告的完整堆栈跟踪。这对我没什么好处,但也许你可以解释一下:
05-25 18:27:09.402 4515-4515/com.codealchemist D/Login Facebook﹕ BUTTON WAS PRESSED
com.codealchemist/com.facebook.LoginActivity: +82ms
05-25 18:27:10.002 3746-4556/com.facebook.katana W/fb4a(:<default>):BlueServiceQueue﹕ Exception during service
com.facebook.http.protocol.ApiException: The proxied app is not already installed.
at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:83)
at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:162)
at com.facebook.http.protocol.ApiResponse.g(ApiResponse.java:151)
at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:275)
at com.facebook.platform.auth.server.AuthorizeAppMethod.a(AuthorizeAppMethod.java:31)
at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:55)
at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:28)
at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:314)
at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:144)
at com.facebook.http.common.FbHttpRequestProcessor.b(FbHttpRequestProcessor.java:100)
at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:230)
at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:402)
at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:164)
at com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:18)
at com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:40)
at com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:60)
at com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:329)
at com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:55)
at com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:258)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:59)
at 安卓.os.Handler.handleCallback(Handler.java:733)
at 安卓.os.Handler.dispatchMessage(Handler.java:95)
at 安卓.os.Looper.loop(Looper.java:136)
at 安卓.os.HandlerThread.run(HandlerThread.java:61)
05-25 18:27:10.002 1272-1783/system_process I/ActivityManager﹕ START u0 {cmp=com.facebook.katana/.ProxyAuth (has extras)} from pid 4515
05-25 18:27:10.012 3746-3817/com.facebook.katana W/Settings﹕ Setting wifi_sleep_policy has moved from 安卓.provider.Settings.System to 安卓.provider.Settings.Global, returning read-only value.
05-25 18:27:10.032 1272-1420/system_process I/ActivityManager﹕ START u0 {cmp=com.facebook.katana/.ProxyAuthDialog (has extras)} from pid 3746
05-25 18:27:10.082 3746-3746/com.facebook.katana D/dalvikvm﹕ GC_FOR_ALLOC freed 2462K, 34% free 11230K/16936K, paused 20ms, total 21ms
05-25 18:27:10.192 3746-3746/com.facebook.katana W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.212 3746-3746/com.facebook.katana W/AwContents﹕ nativeOnDraw failed; clearing to background color.
05-25 18:27:10.222 1272-1286/system_process I/ActivityManager﹕ Displayed com.facebook.katana/.ProxyAuthDialog: +187ms (total +206ms)
05-25 18:27:10.292 3746-3746/com.facebook.katana W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.592 3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.602 3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.612 3746-3746/com.facebook.katana I/chromium﹕ [INFO:async_pixel_transfer_manager_安卓.cc(56)] Async pixel transfers not supported
05-25 18:27:10.622 3746-3746/com.facebook.katana E/chromium﹕ [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:9854F8B8]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.672 3746-3746/com.facebook.katana I/chromium﹕ [INFO:async_pixel_transfer_manager_安卓.cc(56)] Async pixel transfers not supported
05-25 18:27:10.692 3746-3746/com.facebook.katana E/chromium﹕ [ERROR:gles2_cmd_decoder_autogen.h(1144)] [GroupMarkerNotSet(crbug.com/242999)!:483727B9]GL ERROR :GL_INVALID_OPERATION : GetIntegerv: <- error from previous GL command
05-25 18:27:10.752 3746-3746/com.facebook.katana E/eglCodecCommon﹕ **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.752 3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000b44
05-25 18:27:10.762 3746-3746/com.facebook.katana E/eglCodecCommon﹕ glUtilsParamSize: unknow param 0x00000bd0
05-25 18:27:10.792 3746-3746/com.facebook.katana E/eglCodecCommon﹕ **** ERROR unknown type 0x0 (glSizeof,72)
05-25 18:27:10.872 4515-4515/com.codealchemist W/EGL_emulation﹕ eglSurfaceAttrib not implemented
05-25 18:27:10.872 4515-4515/com.codealchemist E/HardwareRenderer﹕ An error has occurred while drawing:
java.lang.IllegalStateException: The display list is not valid.
at 安卓.view.GLES20DisplayList.getNativeDisplayList(GLES20DisplayList.java:49)
at 安卓.view.GLES20Canvas.drawDisplayList(GLES20Canvas.java:420)
at 安卓.view.HardwareRenderer$GlRenderer.drawDisplayList(HardwareRenderer.java:1646)
at 安卓.view.HardwareRenderer$GlRenderer.draw(HardwareRenderer.java:1469)
at 安卓.view.ViewRootImpl.draw(ViewRootImpl.java:2381)
at 安卓.view.ViewRootImpl.performDraw(ViewRootImpl.java:2253)
at 安卓.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1883)
at 安卓.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
at 安卓.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
at 安卓.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
at 安卓.view.Choreographer.doCallbacks(Choreographer.java:574)
at 安卓.view.Choreographer.doFrame(Choreographer.java:544)
at 安卓.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
at 安卓.os.Handler.handleCallback(Handler.java:733)
at 安卓.os.Handler.dispatchMessage(Handler.java:95)
at 安卓.os.Looper.loop(Looper.java:136)
at 安卓.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.安卓.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.安卓.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
# 1 楼答案
我也犯了这个错误
我删除了请求权限,并将这些内容恢复到工作状态
在facebook permission guide中,在“回顾”一节中,它说
因此,我将权限减少到只有这三个权限,并且它正在工作。也许你的问题是这个
# 2 楼答案